xen/arm: traps: Check the P2M before injecting a data/instruction abort
authorJulien Grall <julien.grall@arm.com>
Thu, 15 Sep 2016 11:28:23 +0000 (12:28 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Wed, 28 Sep 2016 01:13:50 +0000 (18:13 -0700)
commit2fc1f3f2ac8c8aff2c58f5fa705e8d5bdb6abb2d
tree4b7b68b4a85f7e7d0ebafdb598e1fa31a65cc3fe
parentc0f95cd6e9a62c346ff7b9e63baebdea43110a15
xen/arm: traps: Check the P2M before injecting a data/instruction abort

A data/instruction abort may have occurred if another CPU was playing
with the stage-2 page table when following the break-before-make
sequence (see D4.7.1 in ARM DDI 0487A.j). Rather than injecting directly
the fault to the guest, we need to check whether the mapping exists. If
it exists, return to the guest to replay the instruction.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Tamas K Lengyel <tamas@tklengyel.com>
xen/arch/arm/traps.c